home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libblas / sbmv.z / sbmv
Encoding:
Text File  |  1998-10-30  |  17.7 KB  |  265 lines

  1.  
  2.  
  3.  
  4. ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))                                                ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dsbmv, ssbmv, zhbmv, chbmv - BLAS Level Two   (Symmetric/Hermitian)
  10.      Banded Matrix - Vector Product
  11.  
  12.  
  13. FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddssssbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  15.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo
  16.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  17.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  18.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  19.  
  20.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssssssbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  21.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo
  22.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  23.            rrrreeeeaaaallll               aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  24.            rrrreeeeaaaallll               aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  25.  
  26.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzhhhhbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  27.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo
  28.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  29.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  30.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  31.  
  32.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee cccchhhhbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  33.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        uuuupppplllloooo
  34.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  35.            ccccoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  36.            ccccoooommmmpppplllleeeexxxx            aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  37.  
  38.  
  39. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  40.      vvvvooooiiiidddd ddddssssbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  41.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  42.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  43.            ddddoooouuuubbbblllleeee             aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  44.            ddddoooouuuubbbblllleeee             ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  45.  
  46.      vvvvooooiiiidddd ssssssssbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  47.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  48.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  49.            ffffllllooooaaaatttt              aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  50.            ffffllllooooaaaatttt              ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  51.  
  52.      vvvvooooiiiidddd zzzzhhhhbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  53.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  54.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  55.            ZZZZoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  56.            ZZZZoooommmmpppplllleeeexxxx            ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  57.  
  58.      vvvvooooiiiidddd cccchhhhbbbbmmmmvvvv(((( uuuupppplllloooo,,,,nnnn,,,,kkkk,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  59.            MMMMaaaattttrrrriiiixxxxTTTTrrrriiiiaaaannnngggglllleeee     uuuupppplllloooo;;;;
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))                                                ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, kkkk,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  75.            CCCCoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  76.            CCCCoooommmmpppplllleeeexxxx            ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  77.  
  78.  
  79.  
  80. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  81.      ddddssssbbbbmmmmvvvv ,,,, ssssssssbbbbmmmmvvvv ,,,, ddddhhhhbbbbmmmmvvvv and cccchhhhbbbbmmmmvvvv perform the matrix-vector operation
  82.  
  83.            y := alpha*A*x + beta*y,
  84.  
  85.      where alpha and beta are scalars, x and y are n element vectors and A is
  86.      an n by n symmetric/hermitian band matrix, with k super-diagonals.
  87.  
  88.  
  89. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  90.      uuuupppplllloooo    On entry, uuuupppplllloooo specifies whether the upper or lower triangular
  91.              part of the matrix A is being supplied as follows:
  92.  
  93.  
  94.  
  95.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  96.              uplo = 'U' or 'u'   The upper triangular part of A is
  97.                                  being supplied.
  98.              uplo = 'L' or 'l'   The lower triangular part of A is
  99.                                  being supplied.
  100.  
  101.              CCCC
  102.              uplo = UpperTriangle     The upper triangular part of A is
  103.                                       being supplied.
  104.              uplo = LowerTriangle     The lower triangular part of A is
  105.                                       being supplied.
  106.  
  107.              Unchanged on exit.
  108.  
  109.      nnnn       On entry, nnnn specifies the the order of the matrix A.  nnnn must be
  110.              at least zero.
  111.              Unchanged on exit.
  112.  
  113.      aaaallllpppphhhhaaaa   specifies the scalar alpha.
  114.              Unchanged on exit.
  115.  
  116.      aaaa       An array containing the matrix A.
  117.  
  118.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  119.              Array of dimension ( lda, n ).
  120.  
  121.              CCCC
  122.              A pointer to an array of size lda*n.
  123.              See note below about array storage convention for C.
  124.  
  125.              Before entry with uuuupppplllloooo ==== ''''UUUU'''' oooorrrr ''''uuuu'''' oooorrrr , the leading ( k + 1 ) by
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))                                                ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))
  137.  
  138.  
  139.  
  140.              n part of the array A must contain the upper triangular band part
  141.              of the symmetric/hermitian matrix, supplied column by column,
  142.              with the leading diagonal of the matrix in row ( k + 1 ) of the
  143.              array, the first super-diagonal starting at position 2 in row k,
  144.              and so on. The top left k by k triangle of the array A is not
  145.              referenced.  The following program segment will transfer the
  146.              upper triangular part of a symmetric/hermitian band matrix from
  147.              conventional full matrix storage to band storage:
  148.  
  149.  
  150.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  151.                             DO 20, J = 1, N
  152.                                M = K + 1 - J
  153.                                DO 10, I = MAX( 1, J - K ), J
  154.                                   A( M + I, J ) = matrix( I, J )
  155.                          10    CONTINUE
  156.                          20 CONTINUE
  157.              CCCC
  158.                          for ( j = 0; j < n; j++ )
  159.                          {
  160.                                m = k - j;
  161.                                for ( i = MAX(0, j-k); i < j )
  162.                                      a( j*lda + m+i ) = Matrix( j*ldm + i );
  163.                          }
  164.  
  165.  
  166.  
  167.              Before entry with UUUUPPPPLLLLOOOO ==== ''''LLLL'''' oooorrrr ''''llll'''' oooorrrr , the leading ( k + 1 ) by
  168.              n part of the array A must contain the lower triangular band part
  169.              of the symmetric/hermitian matrix, supplied column by column,
  170.              with the leading diagonal of the matrix in row 1 of the array,
  171.              the first sub-diagonal starting at position 1 in row 2, and so
  172.              on. The bottom right k by k triangle of the array A is not
  173.              referenced.  The following program segment will transfer the
  174.              lower triangular part of a symmetric/hermitian band matrix from
  175.              conventional full matrix storage to band storage:
  176.  
  177.  
  178.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  179.                             DO 20, J = 1, N
  180.                                M = 1 - J
  181.                                DO 10, I = J, MIN( N, J + K )
  182.                                   A( M + I, J ) = matrix( I, J )
  183.                          10    CONTINUE
  184.                          20 CONTINUE
  185.  
  186.              CCCC
  187.                          for ( j = 0; j < n; j++ )
  188.                          {
  189.                                m = 1 - j;
  190.                                for ( i = j; i < MIN( n, j+k ); i++ )
  191.                                      a( j*lda + m+i ) = Matrix( j*ldm + i );
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))                                                ____SSSSBBBBMMMMVVVV,,,,____HHHHBBBBMMMMVVVV((((3333FFFF))))
  203.  
  204.  
  205.  
  206.                          }
  207.  
  208.              Unchanged on exit.
  209.  
  210.      llllddddaaaa     On entry, llllddddaaaa specifies the first dimension of A as declared in
  211.              the calling (sub) program.  llllddddaaaa must be at least ( k + 1 ).
  212.              Unchanged on exit.
  213.  
  214.      xxxx       Array of size at least ( 1 + ( n - 1 )*abs( incx ) ). Before
  215.              entry, the incremented array xxxx must contain the n element vector
  216.              x.
  217.              Unchanged on exit.
  218.  
  219.      iiiinnnnccccxxxx    On entry, iiiinnnnccccxxxx specifies the increment for the elements of xxxx.
  220.              iiiinnnnccccxxxx must not be zero.
  221.              Unchanged on exit.
  222.  
  223.      bbbbeeeettttaaaa    On entry, bbbbeeeettttaaaa specifies the scalar beta. When bbbbeeeettttaaaa is supplied
  224.              as zero then yyyy need not be set on input.
  225.              Unchanged on exit.
  226.  
  227.      yyyy       Array of size at least ( 1 + ( n - 1 )*abs( INCY ) ). Before
  228.              entry, the incremented array yyyy must contain the n element vector
  229.              y. On exit, yyyy is overwritten by the updated vector y.
  230.  
  231.      iiiinnnnccccyyyy    On entry, iiiinnnnccccyyyy specifies the increment for the elements of yyyy.
  232.              iiiinnnnccccyyyy must not be zero.
  233.              Unchanged on exit.
  234.  
  235.  
  236. CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
  237.        The matrices  are assumed  to be stored in a  oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
  238.        in an analogous fashion as a Fortran array (column major). Therefore,
  239.        the element  A(i+1,j)  of matrix A  is stored  immediately  after the
  240.        element  A(i,j), while  A(i,j+1) is lda  elements apart from  A(i,j).
  241.        The element A(i,j) of the matrix can be accessed directly by reference
  242.        to  a[ (j-1)*lda + (i-1) ].
  243.  
  244.  
  245. AAAAUUUUTTTTHHHHOOOORRRRSSSS
  246.           Jack Dongarra, Argonne National Laboratory.
  247.           Iain Duff, AERE Harwell.
  248.           Jeremy Du Croz, Numerical Algorithms Group Ltd.
  249.           Sven Hammarling, Numerical Algorithms Group Ltd.
  250.  
  251.  
  252. TTTTUUUUNNNNIIIINNNNGGGG
  253.           DSBMV and SSBMV are optimized and parallelized for SGI R3000 and
  254.           R4x00 platforms.
  255.           ZHBMV and CHBMV are optimized and parallelized for SGI R3000, R4x00
  256.           and R8000 platforms.
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.